package game.square;

import be.kuleuven.cs.som.annotate.Raw;

/**
 * A class of walls used as a special type of a border.
 
 * @version 1.0
 * @author Chris Desomer, Geert Heyman
 */
public class Wall extends NotOpenableBorder {

	/**
	 * Initialize this new wall with the given slippery boolean
	 * @param	slippery
	 * 		  	Indicates if this border is slippery or not.
	 * @effect	this new wall is initialized as a new not openable border
	 * 			with the given slippery boolean.
	 * 		  | super(slippery)
   	 */
	@Raw
	public Wall(boolean slippery) throws IllegalArgumentException,
			IllegalStateException {
		super(slippery);
		
	}
	
	/**
	 * Return newly created border (it borders no squares), that is
	 * on all other aspects equal to this border.
	 *  
	 * @return	..
	 * 		  | result.isCreated() && result.isSlippery() == isSlippery()
	 */
	@Override
	public Wall getNewEqualBorder(){
		return new Wall(isSlippery());
	}
}
